diff options
Diffstat (limited to 'src/core/hle/service/btm/btm_system_core.h')
-rw-r--r-- | src/core/hle/service/btm/btm_system_core.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/core/hle/service/btm/btm_system_core.h b/src/core/hle/service/btm/btm_system_core.h index f1ca11f37..06498b21e 100644 --- a/src/core/hle/service/btm/btm_system_core.h +++ b/src/core/hle/service/btm/btm_system_core.h @@ -4,12 +4,22 @@ #pragma once #include "core/hle/service/cmif_types.h" +#include "core/hle/service/kernel_helpers.h" #include "core/hle/service/service.h" +namespace Kernel { +class KEvent; +class KReadableEvent; +} // namespace Kernel + namespace Core { class System; } +namespace Service::Set { +class ISystemSettingsServer; +} + namespace Service::BTM { class IBtmSystemCore final : public ServiceFramework<IBtmSystemCore> { @@ -20,8 +30,15 @@ public: private: Result StartGamepadPairing(); Result CancelGamepadPairing(); + Result EnableRadio(); + Result DisableRadio(); Result IsRadioEnabled(Out<bool> out_is_enabled); + Result AcquireRadioEvent(Out<bool> out_is_valid, + OutCopyHandle<Kernel::KReadableEvent> out_event); + + Result AcquireAudioDeviceConnectionEvent(OutCopyHandle<Kernel::KReadableEvent> out_event); + Result GetConnectedAudioDevices( Out<s32> out_count, OutArray<std::array<u8, 0xFF>, BufferAttr_HipcPointer> out_audio_devices); @@ -32,6 +49,12 @@ private: Result RequestAudioDeviceConnectionRejection(ClientAppletResourceUserId aruid); Result CancelAudioDeviceConnectionRejection(ClientAppletResourceUserId aruid); + + KernelHelpers::ServiceContext service_context; + + Kernel::KEvent* radio_event; + Kernel::KEvent* audio_device_connection_event; + std::shared_ptr<Service::Set::ISystemSettingsServer> m_set_sys; }; } // namespace Service::BTM |